package com.ruoyi.cost.service.impl;

import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cost.domain.FileEntity;
import com.ruoyi.cost.domain.NameField;
import com.ruoyi.cost.mapper.NameFieldMapper;
import com.ruoyi.cost.service.INameFieldService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

/**
 * 【请填写功能名称】Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-07-04
 */
@Service
public class NameFieldServiceImpl  extends ServiceImpl<NameFieldMapper, NameField> implements INameFieldService



{
    @Autowired
    private NameFieldMapper nameFieldMapper;

    /**
     * 查询【请填写功能名称】
     * 
     * @param id 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    @Override
    public NameField selectNameFieldById(String id)
    {
        return nameFieldMapper.selectNameFieldById(id);
    }

    /**
     * 查询【请填写功能名称】列表
     * 
     * @param nameField 【请填写功能名称】
     * @return 【请填写功能名称】
     */
    @Override
    public List<NameField> selectNameFieldList(NameField nameField)
    {
        return nameFieldMapper.selectNameFieldList(nameField);
    }

    /**
     * 新增【请填写功能名称】
     * 
     * @param nameField 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int insertNameField(NameField nameField)
    {
        return nameFieldMapper.insertNameField(nameField);
    }

    /**
     * 修改【请填写功能名称】
     * 
     * @param nameField 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int updateNameField(NameField nameField)
    {
        return nameFieldMapper.updateNameField(nameField);
    }

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param ids 需要删除的【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteNameFieldByIds(String[] ids)
    {
        return nameFieldMapper.deleteNameFieldByIds(ids);
    }

    /**
     * 删除【请填写功能名称】信息
     * 
     * @param id 【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteNameFieldById(String id)
    {
        return nameFieldMapper.deleteNameFieldById(id);
    }

    @Override
    public List<HashMap<String, String>> findTableNameTem() {
        return nameFieldMapper.findTableNameTem();
    }

    @Override
    public List<NameField> findFiledNameTem(String tableName) {
        return nameFieldMapper.findFiledNameTem(tableName);
    }

    @Override
    public void insertData(String tableName, String tableValues, String columnsValues) {
        nameFieldMapper.insertData(tableName,tableValues,columnsValues);
    }

    @Override
    public void saveAccMode(HashMap<String, String> accMode) {
        baseMapper.saveAccMode(accMode);
    }

//    @Override
//    public void saveFile(MultipartFile file) {
//        baseMapper.saveFile(file);
//    }

    @Override
    public void saveFile(MultipartFile file) throws IOException {
        FileEntity fileEntity = new FileEntity();
        fileEntity.setId(UUID.randomUUID().toString());
        fileEntity.setFileName(file.getOriginalFilename());
        fileEntity.setContentType(file.getContentType());
        fileEntity.setFileData(file.getBytes());
        baseMapper.saveFile(fileEntity);
    }

    @Override
    public List<FileEntity> getFileById() {
        List<FileEntity> files  = baseMapper.getFileById();

        return files;
    }

}
